home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / FELONY.DSK / CRIME TIME.bas < prev    next >
BASIC Source File  |  2014-09-09  |  22KB  |  326 lines

  1. 1  REM  MYSTERY MASTER
  2. 2  REM  FELONY! (V2.1)
  3. 3  REM  (C) 1984 BBI
  4. 4  REM  A CBS SOFTWARE
  5. 8  ONERR  GOTO 14000
  6. 9  POKE 33,40: SPEED= 255: HOME : GOTO 150
  7. 10  REM PROG. BY TUNG LEE
  8. 20  POKE  -16368,0:T = 127
  9. 22  HTAB HT: PRINT  CHR$(TC);:TC = 127 -TC
  10. 23  FOR TT = 1 TO 16:TS =  PEEK(49152) -128:TT = TT +16 *(TS =  >0): NEXT : IF TS =  >0  THEN  POKE 49168,0:G$ =  CHR$(TS): HTAB HT: PRINT " ";: HTAB HT: RETURN 
  11. 24  GOTO 22
  12. 25 AH = 55: GOTO 29
  13. 26 AL = 65:AH = 90:TM = 2:SS = 65: GOTO 30
  14. 27 AL = 65:AH = 90:SS = 32: GOSUB 30: GOTO 60
  15. 28 AH = 52
  16. 29 TM = 1:AL = 49:SS = 50: GOSUB 30:T =  VAL(T$): GOTO 41
  17. 30 T$ = "":T = 0: POKE  -16368,0:TC = 127
  18. 31  GOSUB 22: IF T = 0  AND (TS = 13  OR TS = 8)  THEN  GOSUB 50: GOTO 31
  19. 32  IF TS = 13  THEN  RETURN 
  20. 33  IF TS = 8  THEN T = T -1:HT = HT -1: HTAB HT: PRINT " ";::T$ =  MID$ (T$,1,T): GOTO 31
  21. 35  IF TS = SS  THEN  IF T >0  AND T <TM  THEN 38
  22. 36  IF TS <AL  OR TS >AH  OR T =  >TM  THEN  GOSUB 50: GOTO 31
  23. 38  HTAB HT: PRINT G$;:T$ = T$ +G$:T = T +1:HT = HT +1: GOTO 31
  24. 41 PH = 100:DN = 15: GOTO 45
  25. 42 PH = 255:DN = 60: GOTO 45
  26. 43 PH = 50:DN = 12
  27. 45  POKE 768,PH: POKE 769,DN: CALL 770: FOR WW = 1 TO P: NEXT WW: RETURN 
  28. 50  FOR T0 = 1 TO 25:T9 =  PEEK( -16336): NEXT : RETURN 
  29. 60  IF  RIGHT$(T$,1) = " "  THEN 64
  30. 62  GOTO 41
  31. 64 T$ =  LEFT$(T$, LEN(T$) -1): GOTO 60
  32. 150 D$ =  CHR$(13) + CHR$(4):P = 1: PRINT D$"BLOAD CSP,A7424"
  33. 180  DIM PL(4),PT(4),CH%(7),L1%(4),L2%(4),SU%(4),SU$(1),PP(4),RD%(4),PQ%(4),PW%(4),FP$(4,3),FC$(4,23),LT$(28)
  34. 190 RK$ = " THEN PRESS RETURN.":AK$ = " TAP ANY KEY TO CONTINUE.":TA$ = " TRY  AGAIN!": POKE 8185,2: POKE 8186,1: POKE 8187,6: POKE 8188,5
  35. 200 T =  PEEK(8155):CA =  PEEK(2452): HCOLOR= 1: FOR I = 1 TO 4:PT(I) = 2441:SU%(I) = T: NEXT :YY = CA:S2% = 0:S3% = 3000
  36. 210 TQ% =  PEEK(6140) *60 + PEEK(6141):RD% =  PEEK(8154):IP = 0
  37. 221 SU$(0) = " A.M.":SU$(1) = " P.M.":S1% =  PEEK(8151) *60 + PEEK(8152):S4% =  PEEK(8153): PRINT D$"BLOAD SHP"CA",A5409"
  38. 223 T$ = "": PRINT T$: GOSUB 550: POKE 230,32: POKE 232,173: POKE 233,9: POKE 32,1: POKE 54,0: POKE 55,28: VTAB 24: PRINT  CHR$(12);: POKE 972,24: CALL 1002: CALL  -3086
  39. 225  FOR S = 4 TO 3  STEP  -1: HCOLOR=  PEEK(8189 -S): SCALE= S: DRAW 5 AT 4,5: GOSUB 550: NEXT S: HCOLOR= 1: SCALE= 2: DRAW 5 AT 5,5: SCALE= 1
  40. 230  HCOLOR= 2:PN = 1: GOSUB 11950:I0 = 11: GOSUB 11900: HPLOT 82,3 TO 82,83: HPLOT 84,3 TO 84,83:I0 = 21: GOSUB 11900
  41. 400  VTAB 22: HTAB 7: PRINT "ENTER A NUMBER FROM 1 TO 4;": HTAB 11: PRINT RK$: VTAB 4: HTAB 17: PRINT "THIS IS CASE #"CA: VTAB 8: HTAB 15
  42. 410  PRINT "HOW MANY ARE PLAYING?";:HT = 37: GOSUB 28:PT = T:T = 3: GOSUB 12997
  43. 440  FOR I = 1 TO PT: VTAB 22: HTAB 3: PRINT "ENTER YOUR NAME; "RK$: VTAB 11 +2 *I: HTAB 9: PRINT "OFFICER "I" ";:TM = 15:HT = 21: GOSUB 27:PL$(I) = T$: NEXT :T = 3: GOSUB 12997
  44. 530  VTAB 23: HTAB 18: PRINT "WELCOME!": GOSUB 12911: GOSUB 540: GOTO 780
  45. 540  PRINT D$"BLOAD HUXLEY MAP.PIC,A8192":T =  FRE(I):V1 = 17:H1 = 11: RETURN 
  46. 550  POKE  -16297,0: POKE  -16300,0: POKE  -16302,0: CALL  -3086: POKE  -16304,0: RETURN 
  47. 780  PRINT D$"OPEN HUX LOC NAM"
  48. 791  PRINT D$"READ HUX LOC NAM": FOR I = 1 TO 28: VTAB V1: HTAB H1: INPUT LTI$(I): NEXT : PRINT D$"CLOSE"
  49. 850 SL% =  PEEK(6139): FOR I = 1 TO PT: POKE 8169 +I,0:PL(I) = SL%:PQ%(I) =  -1:PW%(I) =  -1: NEXT :PN = 1:LP = 0:LF% = PT: IF CA = 12  THEN XZ = 5
  50. 870 ST% =  PEEK(6137) *60 + PEEK(6138): FOR I = 1 TO PT:PT(I) = ST%:PP(I) = ST%: POKE 8179 +I,0:RD%(I) = ST%: NEXT :CP% =  -1:TM = ST%:GG% = 840
  51. 900  VTAB 1: HTAB 8: PRINT AK$;: GOSUB 10040
  52. 1000  ONERR  GOTO 14000
  53. 1002  IF CA = 11  AND PL(PN) = 26  THEN  GOSUB 12180:PT(PN) = 2440
  54. 1005  GOSUB 10100: GOSUB 12100: IF TM >1439  THEN 10120
  55. 1010  IF LP < >PL(PN)  THEN  GOSUB 10500
  56. 1012  GOSUB 12150: IF PT(PN) >1439  THEN 1000
  57. 1015  GOSUB 12000: IF CH = 7  THEN  GOSUB 10800: GOTO 1000
  58. 1016 HJ = 0:H$ = "": IF CH%(CH) = 0  THEN 1032
  59. 1020  ON CH%(CH) GOTO 1060,1060,1025,1025,1050,1032,1060
  60. 1025  IF CA = 10  AND PT(PN) <548  THEN 1027
  61. 1026  IF PT(PN) -RD%(PN) > = RD%  THEN QQ = 1: GOTO 1060
  62. 1027  IF CH%(CH) = 3  AND QQ = 1  THEN 1060
  63. 1030 HJ = 1:T1$ = "LAB":T$ = " REPORT NOT READY!": IF CH%(CH) = 3  THEN T1$ = "AUTOPSY"
  64. 1031 CX$ = T1$ +T$:CC = 1:K = 5: GOSUB 1085: GOTO 1090
  65. 1032 T1$ = "":T = PT(PN) -S1%: IF CA = 4  THEN 1043
  66. 1033  IF CA = 7  THEN 1057
  67. 1034  IF CA = 11  THEN 1048
  68. 1035  IF CA = 1  THEN 1041
  69. 1036  IF CA = 12  AND YY = 12  THEN T$ = "182": GOTO 1031
  70. 1040  GOTO 1060
  71. 1041  IF T < = 0  THEN 1060
  72. 1042  IF CA = 1  THEN T$ = "547": GOTO 1031
  73. 1043 T$ = "291": IF T <0  AND PL(PN) = 6  THEN 1031
  74. 1044  IF T > = 0  AND PL(PN) = 1  THEN 1031
  75. 1045  IF T +120 <0  AND PL(PN) = 8  THEN T$ = "515": GOTO 1031
  76. 1046  IF CA = 4  AND PL(PN) = 8  AND CH = 3  THEN 1055
  77. 1047  GOTO 1060
  78. 1048  IF (PL(PN) = 12  AND T <0)  OR (PL(PN) = 18  AND T > = 0)  THEN 1060
  79. 1049 T$ = "414": GOTO 1031
  80. 1050 T1$ = "": IF S2% = 0  THEN S3% = PT(PN):S2% = 1: GOTO 1054
  81. 1052  IF S2% = 2  THEN 1060
  82. 1054 T$ = "TELEX SENT. REPLY TO COME.":HJ = 1: GOTO 1031
  83. 1055 H$ = ",622": IF PW%(PN) <2  THEN H$ = ",588": IF PW%(PN) <0  THEN H$ = ""
  84. 1056  GOTO 1060
  85. 1057 H$ = "": IF PW%(PN) <0  THEN T$ = "246,540": GOTO 1031
  86. 1058  GOTO 1060
  87. 1060 T1 = L2%(PN):T = PL(PN): IF T = CP%  THEN 1080
  88. 1065 CP% = T: IF T1 = 99  THEN  PRINT D$: FOR I = 1 TO 6:CF$(I) = "99,99": NEXT : GOTO 1080
  89. 1070  GOSUB 11400
  90. 1080 CF$ = CF$(CH): GOSUB 11000: GOSUB 1085: GOTO 1090
  91. 1085 K = CC *K:PT(PN) = PT(PN) +K:PP(PN) = PP(PN) +K: RETURN 
  92. 1090 T = 7: GOSUB 12997:T = 1: IF  RND(7) <.3  THEN T = 3
  93. 1092  IF CH%(CH) >1  THEN T = 2
  94. 1094  HCOLOR= 3: DRAW T AT 15,138: IF HJ = 1  THEN 1100
  95. 1095 T$ = "YOUR CLUES ARE:": IF CC = 1  THEN T$ = "YOUR CLUE IS:"
  96. 1097  VTAB 18: GOSUB 12941
  97. 1100  VTAB 20:T$ = CX$ +H$: GOSUB 12941: VTAB 23:T$ = AK$: GOSUB 12941: GOSUB 10040: GOTO 1000
  98. 1110  IF PP(TP) >779  THEN PP(TP) = PP(TP) -720: POKE 8179 +TP,0
  99. 1115 T = PP(TP):T1 =  INT(T/60):T = T -(60 *T1):A$ = "": IF T <10  THEN A$ = "0"
  100. 1120  IF T1 = 12  AND  PEEK(8179 +TP) = 0  THEN SU%(TP) = SU%(TP) +1: POKE 8179 +TP,1: IF SU%(TP) = 2  THEN SU%(TP) = 0
  101. 1123 T$ =  STR$(T1) +":" +A$ + STR$(T) +SU$(SU%(TP)): RETURN 
  102. 2000  GOSUB 550: VTAB 8: PRINT "ATTENTION, ALL INVESTIGATING OFFICERS,": VTAB 12: IF S2% = 3  THEN 2007
  103. 2001  IF CA = 4  THEN 2010
  104. 2002  IF CA = 10  THEN 5000
  105. 2003  IF CA = 11  THEN 5010
  106. 2005  IF CA = 12  THEN 5030
  107. 2006  RETURN 
  108. 2007 S2% = 2:T$ = "F.B.I.": IF CA = 2  THEN T$ = "ARMY."
  109. 2008  PRINT "WE HAVE JUST RECEIVED A TELEX FROM": PRINT "THE "T$" ANYONE INTERESTED SHOULD": PRINT "RETURN TO THE POLICE STATION (I).": GOTO 3000
  110. 2010  PRINT "MISS CONNIE CAMERON HAS CALLED THE": PRINT "STATION CLAIMING TO HAVE IMPORTANT": PRINT "INFORMATION REGARDING THE MURDER OF": PRINT "FRANK FINGER. SHE CAN BE FOUND WORKING"
  111. 2012  PRINT "AT SPEED CHECK GROCERY (F). CHECK THIS": PRINT "OUT AT YOUR OWN DISCRETION."
  112. 3000  VTAB 22: HTAB 8: PRINT AK$: GOSUB 10040: RETURN 
  113. 4000  GOSUB 550: VTAB 12: PRINT "ATTENTION, OFFICER "PL$(PN)",": PRINT : PRINT "PLEASE SEE SGT. HASKILL AT THE": PRINT "STATION HOUSE (I)": GOTO 3000
  114. 5000  PRINT "THE MAN WHO KILLED ROBERT O'NEIL HAS": PRINT "JUST TURNED HIMSELF IN AT THE STATION": PRINT "HOUSE. YOU MAY EITHER COME BACK, OR": PRINT "CONTINUE YOUR INVESTIGATION.": PRINT "PLEASE NOTE, HOWEVER, IF YOU SOLVE THE"
  115. 5002  PRINT "CASE NOW, IT DOESN'T REFLECT VERY": PRINT "WELL ON YOUR ABILITIES.": GOTO 3000
  116. 5010  PRINT "MRS. BARBARA HOROWITZ OF 591 STATION": PRINT "DRIVE (O) JUST CALLED THE STATION": PRINT "HOUSE. SHE SAID SHE'D JUST HEARD ABOUT": PRINT "DANIEL ROTHSTADT BEING KIDNAPPED AND": PRINT "SHE MIGHT HAVE SOME INFORMATION THAT"
  117. 5012  PRINT "COULD HELP OUR INVESTIGATION.": GOTO 3000
  118. 5020 G$ = "Y": SPEED= 100: VTAB 10: IF PT(PN) > = 1266  THEN 5024
  119. 5022 T$ = "CONGRATULATIONS!": GOSUB 12940: GOSUB 12380: PRINT :T$ = "OFFICER " +PL$(PN): GOSUB 12940: GOSUB 12380: PRINT : PRINT 
  120. 5023  PRINT "   YOU HAVE FOUND DANIEL ROTHSTADT": PRINT "   ALIVE AND WELL.  YOU HAVE ALSO": PRINT "   CAPTURED NED CRACCHIOLO.": GOTO 5026
  121. 5024  HTAB 8: PRINT "YOU HAVE ARRIVED TOO LATE.": PRINT : HTAB 14: PRINT "DANIEL IS DEAD.": PRINT : HTAB 3: PRINT "DEBBIE AND NED CRACCHIOLO ARE GONE.":G$ = "N"
  122. 5026  GOSUB 12912: SPEED= 255: GOTO 12260
  123. 5030  PRINT "THE N.Y.C. BOMB SQUAD DOGS HAVE JUST": PRINT "ARRIVED. ANY OFFICER WISHING TO USE A": PRINT "DOG MAY COME TO THE STATION HOUSE AND": PRINT "PICK UP A DOG AND HIS HANDLER.": GOTO 3000
  124. 5040 PN = 0: SPEED= 100:G$ = "Y": FOR I = 1 TO PT: IF PW%(I) > = 3  THEN XZ = 4:PN = I:IP = IP +1
  125. 5042  NEXT : IF XZ = 4  THEN 5050
  126. 5044  HTAB 5: PRINT "YOU'RE TOO LATE. THE BOMBS HAVE": HTAB 5: PRINT "ALREADY GONE OFF. THE F.B.I. HAS": HTAB 5: PRINT "TAKEN OVER THE CASE AND YOU ARE": HTAB 5: PRINT "NOW DOING PAPER ASSIGNMENTS.":G$ = "N": GOTO 5026
  127. 5050  HTAB 6: PRINT "CONGRATULATIONS! YOU'VE DEFUSED": HTAB 6: PRINT "ALL THE BOMBS. YOU HAVE ALSO": HTAB 6: PRINT "BEEN APPOINTED HUXLEY'S NEW": HTAB 6: PRINT "ASSISTANT CHIEF OF POLICE.": GOTO 5026
  128. 9999  STOP : END 
  129. 10040  GOSUB 12900: PRINT D$"CLOSE": GET G$: GOTO 41
  130. 10100 TMI = PT(1):PN = 1: IF PT = 1  THEN  RETURN 
  131. 10102  FOR I = 2 TO PT: IF PT(I) >1439  THEN 10111
  132. 10106  IF PT(I) <TMI  THEN TMI = PT(I):PN = I
  133. 10111  NEXT I: RETURN 
  134. 10120  GOSUB 12270: GOSUB 3000
  135. 10121  GOSUB 550: VTAB 3: HTAB 2: PRINT "YOUR TIME AND LUCK HAVE JUST RUN OUT!"
  136. 10122  VTAB 8:T = 12: GOSUB 12165: VTAB 10: HTAB 7: PRINT "MYSTERY MASTER II - CASE #"CA: VTAB 15: HTAB 13: PRINT "STATUS: UNSOLVED": VTAB 22: GOTO 12500
  137. 10200  REM GETPTS
  138. 10220  PRINT D$;"OPEN LOCCLUE PTS,L5"
  139. 10225 PK = (CA *28 -28) +LP -1: PRINT D$;"READ LOCCLUE PTS,R"PK
  140. 10231  VTAB V1: HTAB H1: INPUT A$:A =  VAL(A$):L1%(PN) =  INT(A/100):L2%(PN) = A -L1%(PN) *100
  141. 10240  PRINT D$"CLOSE LOCCLUE PTS": IF CA = 12  AND LP >11  AND L1%(PN) <5  THEN L1%(PN) = L1%(PN) +100
  142. 10245  RETURN 
  143. 10300  REM GETT1$T2$ FRMT$ LENT
  144. 10305 T0 =  LEN(T$)
  145. 10310  IF T0 < = T  THEN T1$ = T$:T2$ = "": RETURN 
  146. 10315 T1 = T
  147. 10320  IF  MID$ (T$,T1,1) = " "  THEN T2 = T1: GOTO 10340
  148. 10325  IF  MID$ (T$,T1 +1,1) = " "  THEN T1 = T1 +1:T2 = T1: GOTO 10340
  149. 10330 T1 = T1 -1: IF T1 >1  THEN 10320
  150. 10335 T1$ =  LEFT$(T$,T):T2$ =  RIGHT$(T$,T0 -T): RETURN 
  151. 10340 T2 = T2 -1: IF  MID$ (T$,T2,1) = " "  THEN  IF T2 >1  THEN 10340
  152. 10345  IF T2 = 0  THEN 10335
  153. 10350 T1$ =  LEFT$(T$,T2):T2 = T1
  154. 10355 T2 = T2 +1: IF  MID$ (T$,T2,1) = " "  THEN  IF T2 <T0  THEN 10355
  155. 10360 T2$ =  RIGHT$(T$,T0 -T2 +1): RETURN 
  156. 10500 LP = PL(PN): GOSUB 10200
  157. 10570  PRINT D$;"OPEN LOCDES SETS,L1"
  158. 10572 T = L1%(PN) *2 +7594:T1 =  PEEK(T) *256 + PEEK(T +1)
  159. 10575  PRINT D$"READ LOCDES SETS,R"T1
  160. 10580  FOR I = 1 TO 6: VTAB V1: HTAB H1: INPUT A$:CH%(I) =  VAL( LEFT$(A$,1)):CD$(I) =  RIGHT$(A$, LEN(A$) -1): NEXT I: PRINT D$"CLOSE"
  161. 10582  FOR I = 1 TO 6: IF CH%(I) = 6  OR CH%(I) <2  THEN 10600
  162. 10590 I = 7: NEXT : RETURN 
  163. 10600 L =  LEN(CD$(I)):LL =  INT(L *.3)
  164. 10602  FOR K = L -3 TO LL  STEP  -1: IF  MID$ (CD$(I),K,1) =  CHR$(45)  THEN CD$(I) =  LEFT$(CD$(I),K -1) +", " + RIGHT$(CD$(I),L -K):K = 1
  165. 10610  NEXT : NEXT : RETURN 
  166. 10800 I0 = 1: REM N-LOC
  167. 10801 T = 4: GOSUB 12997: VTAB 22: HTAB 5: PRINT "WOULD YOU LIKE TO SEE THE MAP?":HT = 27: HTAB 13: GOSUB 12950: IF G$ < >"Y"  THEN :I0 = 22: GOTO 10809
  168. 10805 I0 = 1: GOSUB 540
  169. 10808  IF I0 = 1  THEN T = 2: GOSUB 12998: GOTO 10810
  170. 10809 T = 3: GOSUB 12997
  171. 10810  VTAB I0: HTAB 3: PRINT "ENTER THE LETTER OF YOUR DESTINATION;": HTAB 9: PRINT RK$;: PRINT  SPC( 11);:HT = 29: GOSUB 26:NL$ = T$
  172. 10830  IF  LEN(NL$) >1  AND NL$ < >"AA"  AND NL$ < >"BB"  THEN  GOSUB 50: GOTO 10810
  173. 10840  IF NL$ = "AA"  THEN NL = 27: GOTO 10870
  174. 10841  IF NL$ = "BB"  THEN NL = 28: GOTO 10870
  175. 10850 NL =  ASC(NL$) -64
  176. 10855  IF NL <1  OR NL >26  THEN  GOSUB 50: GOTO 10809
  177. 10870  GOSUB 41:T = 4: IF I0 = 1  THEN T = 2: GOSUB 12998: GOTO 10875
  178. 10871  GOSUB 12997
  179. 10875  VTAB I0:T$ =  RIGHT$(LT$(NL), LEN(LT$(NL)) -2): GOSUB 12940: VTAB I0 +1: HTAB 6: PRINT "IS THAT RIGHT? ";:HT = 35: GOSUB 12950: IF G$ < >"Y"  THEN  GOTO 10808
  180. 10900 W1 = PL(PN):W2 = NL: IF W1 = W2  THEN  RETURN 
  181. 10910  IF W1 <W2  THEN W3 = W1:W1 = W2:W2 = W3
  182. 10940 T = 0: FOR J = 0 TO W1 -2:T = T +J: NEXT :TI = 2050 +T +W2 -1:TI =  PEEK(TI):T =  INT((TI -1)/5) +1
  183. 10950 K = TI + INT( RND(T) *T +.5):CC = 1:PL(PN) = NL: GOTO 1085
  184. 11000  REM FRMTCLU
  185. 11005 CX$ = "":CC = 0:PA% = PQ%(PN):PB% = PW%(PN)
  186. 11006  IF CF$ = "99,99"  THEN CC = 2:CX$ = CF$: GOTO 11082
  187. 11008 LH =  LEN(CF$): IF LH = 3  THEN CC = 1:CX$ = CF$: GOTO 11082
  188. 11010  FOR I = 1 TO LH  STEP 3:A$ =  MID$ (CF$,I,1):PU% = 0
  189. 11012  IF A$ = "*"  THEN RD%(PN) = PT(PN):I = I +1: IF CA = 5  THEN RD% = 20
  190. 11013  IF A$ = "+"  THEN PU% = 1:I = I +1
  191. 11014 A$ =  MID$ (CF$,I,1):I = I +1
  192. 11015  IF LH -I >1  THEN A1$ =  MID$ (CF$,I,3)
  193. 11016  IF A$ = "F"  THEN 11040
  194. 11017  IF A$ = "B"  THEN A2$ =  MID$ (CF$,I +3,3): GOTO 11032
  195. 11019 I = I -1
  196. 11020 A$ =  MID$ (CF$,I,3): IF PU% = 1  THEN 11050
  197. 11021  IF  LEFT$(A$,1) = " "  OR  LEFT$(A$,1) = "0"  THEN A$ =  RIGHT$(A$, LEN(A$) -1): GOTO 11021
  198. 11022 CX$ = CX$ +A$:CC = CC +1: IF A$ = "9"  THEN PB% = PB% +1
  199. 11024 CX$ = CX$ +",": IF A$ = "520"  AND  PEEK(8169 +PN) = 0  THEN  POKE 8169 +PN,1
  200. 11030  NEXT I: GOTO 11080
  201. 11032  IF PA% <0  THEN 11039
  202. 11033  FOR J = 0 TO PA%: IF A1$ = FC$(PN,J)  THEN J = 50: NEXT J:A1$ = A2$:I = I +3: GOTO 11040
  203. 11035  NEXT J
  204. 11039 I = I +3: GOTO 11030
  205. 11040  IF PA% <0  THEN 11046
  206. 11042  FOR K = 0 TO PA%: IF A1$ = FC$(PN,K)  THEN K = 50
  207. 11044  NEXT K: IF K >49  THEN 11020
  208. 11046 PA% = PA% +1:FC$(PN,PA%) = A1$: GOTO 11020
  209. 11050  IF PB% <0  THEN H = 0: GOTO 11055
  210. 11052  FOR H = 0 TO PB%: IF FP$(PN,H) = A$  THEN H = 50
  211. 11054  NEXT H
  212. 11055  IF H <50  THEN PB% = PB% +1:FP$(PN,PB%) = A$
  213. 11056  GOTO 11021
  214. 11080  IF  LEN(CX$) <1  THEN CX$ = "99":CC = 1: GOTO 11082
  215. 11081 CX$ =  LEFT$(CX$, LEN(CX$) -1)
  216. 11082  IF  LEFT$(CX$,1) = "0"  THEN CX$ =  RIGHT$(CX$, LEN(CX$) -1): GOTO 11082
  217. 11084 K = 5: IF CH%(CH) = 1  THEN K = 3
  218. 11085 PT(PN) = PT(PN):PQ%(PN) = PA%:PW%(PN) = PB%: RETURN 
  219. 11400  REM GETCLUE
  220. 11401 T = 7424 +T1 *2:T2 =  PEEK(T) *256 + PEEK(T +1)
  221. 11405  PRINT D$"OPEN CLUE SETS,L1": PRINT D$"READ CLUE SETS,R"T2
  222. 11420  FOR I = 1 TO 6: VTAB V1: HTAB H1: INPUT CF$(I): NEXT : PRINT D$"CLOSE": RETURN 
  223. 11900 T = I0 *8 -4: HPLOT 4,T -1 TO 275,T -1: HPLOT 4,T +1 TO 275,T +1: RETURN 
  224. 11950 P = 1 -(PN/2 - INT(PN/2)) *2
  225. 11953  HPLOT P,0 TO 278 +P,0 TO 278 +P,191 TO P,191 TO P,0
  226. 11955  HPLOT 2 +P,2 TO 276 +P,2 TO 276 +P,189 TO 2 +P,189 TO 2 +P,2: RETURN 
  227. 12000 V1 = 21:H1 = 2: GOSUB 550: HCOLOR=  PEEK(8184 +PN): GOSUB 11950: VTAB 2:L = PL(PN)
  228. 12001 T$ = PL$(PN) +", YOU ARE AT: " + LEFT$(LT$(L),2): GOSUB 12940
  229. 12002  VTAB 3:T$ =  RIGHT$(LT$(L), LEN(LT$(L)) -2): GOSUB 12940:I0 = 4: GOSUB 11900
  230. 12010  VTAB 5: HTAB 13: PRINT "YOUR CHOICES:":I0 = 6: GOSUB 11900
  231. 12011 I0 = 7:G$ = " ? ": VTAB I0:LL = 0: IF CH%(1) >1  THEN 12019
  232. 12013  FOR I = 1 TO 6:T$ = CD$(I):T = 32: GOSUB 10300: HTAB 2: PRINT G$I". "T1$:I0 = I0 +1: IF  LEN(T2$) >0  THEN  HTAB 9: PRINT T2$:I0 = I0 +1
  233. 12015 LL = LL +1: IF I <6  THEN  IF CH%(I +1) >1  THEN I = 10
  234. 12016  NEXT : GOSUB 11900:I0 = I0 +1: VTAB I0
  235. 12019  IF LL =  >6  THEN 12025
  236. 12020 G$ = " " + CHR$(127) +" "
  237. 12023  FOR I = LL +1 TO 6:T$ = CD$(I):T = 32: GOSUB 10300: HTAB 2: PRINT G$I". "T1$:I0 = I0 +1: IF  LEN(T2$) >0  THEN  HTAB 9: PRINT T2$:I0 = I0 +1
  238. 12024  NEXT : GOSUB 11900
  239. 12025 I0 = 19: VTAB 18:G$ =  CHR$(14) + CHR$(15): HTAB 2: PRINT G$;: HTAB 5: PRINT "7. GO TO ANOTHER LOCATION": GOSUB 11900:T =  FRE(I)
  240. 12045  GOSUB 12900: VTAB 21: HTAB 4: PRINT "ENTER THE NUMBER OF YOUR CHOICE;": HTAB 9: PRINT RK$"-> ";:HT = 30: GOSUB 25:CH = T: RETURN 
  241. 12050 CHOICE =  VAL(G$): IF CH <1  OR CH >7  THEN  GOSUB 13000: GOTO 12045
  242. 12055  GOTO 42
  243. 12100  IF YY = 4  AND TM =  >840  THEN  GOSUB 2000:YY = 0
  244. 12101  IF S2% = 1  AND TM -S3% > = S4%  THEN S2% = 3: GOSUB 2000
  245. 12102  IF CA < >4  OR TM <GG%  THEN 12104
  246. 12103  IF  PEEK(8169 +PN) = 1  THEN  GOSUB 4000: POKE 8169 +PN,2:GG% = GG% +20
  247. 12104  IF YY = 10  AND TM > = S1%  THEN  GOSUB 2000:YY = 0
  248. 12105  IF YY = 11  AND TM > = 1170  THEN YY = 0: GOSUB 2000
  249. 12106  IF CA = 12  AND TM >900  THEN XZ = 6: GOSUB 12180
  250. 12107  IF YY = 12  AND TM > = 685  THEN YY = 0: GOSUB 2000
  251. 12108  GOSUB 550:V1 = 21:H1 = 2
  252. 12110  FOR I = 0 TO 1: FOR J = 0 TO 1:TLEF = 20 *J +3:TUP = 10 *I +1:TPL = 2 *I +J +1:HL = 139 *J:HUP = 80 *I: HCOLOR=  PEEK(8185 +J +2 *I)
  253. 12112 HR = HL +138:HD = HU +79
  254. 12113  FOR T = 1 TO 3: HPLOT HL,HU TO HR,HU TO HR,HD TO HL,HD TO HL,HU +1:HU = HU +2:HL = HL +2:HR = HR -2:HD = HD -2: NEXT T: HCOLOR= 3
  255. 12115  IF HL <145  THEN HL = HL +1
  256. 12120  IF PT(TPL) > = 2440  THEN  DRAW 5 AT HL +43,HU +15: GOTO 12140
  257. 12122  VTAB TU +1:T1 = TL -1:T2 = T1 +18:T$ = PL$(TP): GOSUB 12942
  258. 12125  VTAB TU +3: HTAB TL +1:T = PL(TP): PRINT "YOU ARE AT: " LEFT$(LT$(T),2)
  259. 12130 T$ =  RIGHT$(LT$(T), LEN(LT$(T)) -2):T = 17: GOSUB 10300:T1 = TL:T2 = TL +18:T$ = T1$: GOSUB 12942:T$ = T2$: VTAB TU +5: GOSUB 12942
  260. 12133  GOSUB 1110: VTAB TUP +7: HTAB TL +1: PRINT "TIME "T$
  261. 12140  NEXT : NEXT : RETURN 
  262. 12150  VTAB 22:T$ = PL$(PN) +",": IF LF% >1  THEN T$ = T$ +" IT'S YOUR MOVE!"
  263. 12155  GOSUB 12940: PRINT :T$ = "": IF PT(PN) > = 30 +ST%  THEN  HTAB 3: PRINT "TAP ESC KEY TO TRY SOLVING THE CASE,";:T$ = " OR"
  264. 12160 T$ = T$ +AK$: PRINT : GOSUB 12940: GOSUB 10040
  265. 12162 T = 2: VTAB 23: GOSUB 12165: GOTO 12170
  266. 12165  FOR K = 1 TO T: FOR H = 37 TO 1  STEP  -3: HTAB H: PRINT "   ";: NEXT : PRINT : NEXT : RETURN 
  267. 12170  IF G$ =  CHR$(27)  AND PT(PN) > = 30 +ST%  THEN 12180
  268. 12175  RETURN 
  269. 12180  GOSUB 550: HCOLOR= 3: FOR I = 5 TO 1  STEP  -1:T = (6 -I) *50 -30:T1 = 4: IF I = 3  THEN T1 = 5
  270. 12182  DRAW T1 AT T,10: NEXT : IF CA = 11  AND PL(PN) = 26  THEN 5020
  271. 12183  IF XZ = 6  THEN  VTAB 10: GOTO 5040
  272. 12184 T$ = "OFFICER " +PL$(PN) +",": VTAB 8: GOSUB 12940: VTAB 10: HTAB 5
  273. 12195  PRINT "REVIEW THE CASE HISTORY. BE SURE": HTAB 5: PRINT "YOU HAVE ENOUGH INFORMATION. IF": HTAB 5: PRINT "YOUR SOLUTION IS INCOMPLETE, YOU": HTAB 5: PRINT "ARE OFF THE CASE."
  274. 12197  VTAB 16: PRINT  SPC( 4)"TO SHARE YOUR SOLUTION, TYPE: Y": PRINT  SPC( 4)"TO RETURN TO THE GAME,  TYPE: N ";:HT = 38: GOSUB 12951
  275. 12198  IF G$ = "N"  THEN  RETURN 
  276. 12199  VTAB 10:T = 10: GOSUB 12165
  277. 12200  VTAB 10: HTAB 10: PRINT "EXPLAIN YOUR SOLUTION": HTAB 10: PRINT "TO YOUR RIVAL SLEUTHS.": HTAB 10: PRINT "THEN, PRIVATELY READ": HTAB 10: PRINT "THE OFFICIAL SOLUTION.": PRINT : PRINT : PRINT 
  278. 12210  FOR T = 1 TO 2500: NEXT : HTAB 5: PRINT "IS YOUR SOLUTION BOTH COMPLETE": HTAB 13: PRINT "AND ACCURATE?": PRINT : PRINT : HTAB 13: PRINT "TYPE Y OR N: ";:HT = 26: GOSUB 12951
  279. 12260  VTAB 8:T = 14: GOSUB 12165: IF G$ = "Y"  THEN 12390
  280. 12261  IF XZ = 6  THEN 12297
  281. 12262  VTAB 13:T$ = "SORRY, OFFICER " +PL$(PN) +",": GOSUB 12940: PRINT : HTAB 11: PRINT "YOU'RE OFF THE CASE!": GOSUB 12270: GOTO 12272
  282. 12270 PH = 90:DN = 210: GOSUB 41:PH = 114: GOSUB 41:PH = 96: GOSUB 41:PH = 120: GOSUB 41:P = 0: FOR PH = 114 TO 214  STEP 20: POKE 769,50: POKE 768,PH: CALL 770: NEXT : RETURN 
  283. 12272  PRINT : IF LF% >1  THEN  HTAB 6: PRINT "YOUR ASSOCIATES WILL CONTINUE": HTAB 14: PRINT "SLEUTHING..."
  284. 12295  GOSUB 12912:PT(PN) = 2440:LF% = LF% -1: IF LF% >0  THEN  RETURN 
  285. 12297  GOTO 10122
  286. 12320 PH = 180:DN = 140:P = 90: GOSUB 45:PH = 180:DN = 80:P = 40: GOSUB 45:PH = 152:DN = 180:P = 60: GOSUB 45:PH = 180:DN = 140:P = 40: GOSUB 45
  287. 12325 PH = 152:DN = 90: GOSUB 45:PH = 136:DN = 140: GOSUB 45:DN = 80: GOSUB 45:PH = 152:DN = 180: GOSUB 45: RETURN 
  288. 12330  RETURN 
  289. 12350  SPEED= 130: GOSUB 12940: FOR T = 1 TO 250: NEXT : PRINT : FOR T = 1 TO 250: NEXT : PRINT : RETURN 
  290. 12380  PRINT : GOTO 12911
  291. 12390  IF CA = 4  AND PW%(PN) <2  THEN  VTAB 10: HTAB 7: PRINT "YOU DID NOT SATISFY ALL OF": HTAB 6: PRINT "CHIEF SABELLICO'S CONDITIONS.": GOSUB 12912: GOTO 12262
  292. 12400 T = CA -1:TR =  INT(T/4):TF = CA -4 *TR:TR = TR +38
  293. 12410  PRINT D$"OPEN CASE"CA: PRINT D$"READ CASE"CA: VTAB 10: HTAB 1: INPUT A$: INPUT B$: PRINT D$"CLOSE"
  294. 12415 T = 3: VTAB 12: GOSUB 12165
  295. 12420  VTAB 8:T$ = A$: GOSUB 12350: IF B$ = ""  THEN  PRINT : GOTO 12425
  296. 12422 T$ = "           " +B$: VTAB 9: GOSUB 12350
  297. 12425  GOSUB 12320: GOSUB 12380
  298. 12450 T$ = "CASE": GOSUB 12350:T$ = "CLOSED": GOSUB 12350
  299. 12452  IF IP >1  THEN 12460
  300. 12455 T$ = "BY": GOSUB 12350:T$ = "OFFICER " +PL$(PN): GOSUB 12350
  301. 12460  GOSUB 12330:TM = PT(PN) -TQ%:DR = 1: IF TM <1  THEN 12480
  302. 12461 DR =  INT(TM/25 +1.99): IF DR >12  THEN DR = 12
  303. 12480  GOSUB 12380
  304. 12482 T$ = "YOUR SLEUTH RATING IS:": GOSUB 12940: PRINT :T$ =  STR$(DR) +" - "
  305. 12484  PRINT D$"OPEN HUX LOC NAM": PRINT D$"READ HUX LOC NAM": FOR I = 1 TO 28 +DR: VTAB 1: HTAB 1: INPUT G$: NEXT : PRINT D$"CLOSE"
  306. 12485 T$ = T$ +G$: VTAB 22: GOSUB 12940: PRINT D$"BLOAD SHP0,A5409":T = 4: IF DR >3  THEN T = 3
  307. 12486  IF DR <3  OR DR >5  THEN T = 2: IF DR <2  OR DR >8  THEN T = 1
  308. 12487 PH = 4:DN = 7: FOR I = 1 TO T:J = I: IF J = 2  THEN J = J +3
  309. 12488  IF J = 3  THEN J = J -1
  310. 12490  HCOLOR= 3:K = J *50 -30: XDRAW 5 AT K,32: FOR L = 1 TO 3:P = L *2: GOSUB 45: NEXT : NEXT 
  311. 12498  GOSUB 12380: VTAB 24
  312. 12500  SPEED= 255: HTAB 8: PRINT "TAP ANY KEY TO PLAY AGAIN.";: POKE  -16368,0: GET G$:T = 1: VTAB 24: GOSUB 12165: HOME 
  313. 12501  PR# 6: END 
  314. 12900  POKE  -16368,0: RETURN 
  315. 12911  FOR T = 1 TO 500: NEXT : RETURN 
  316. 12912  FOR T = 1 TO 7000: NEXT : RETURN 
  317. 12940 T1 = 3:T2 = 40: GOTO 12942
  318. 12941 T1 = 11:T2 = 40
  319. 12942  HTAB  INT((T1 +T2 - LEN(T$) -1)/2): PRINT T$;: RETURN 
  320. 12950  PRINT "(TYPE Y OR N) ";
  321. 12951  GOSUB 12900: GOSUB 20: IF TS < >89  AND TS < >78  THEN  GOSUB 50: GOTO 12951
  322. 12953  GOSUB 41: HTAB HT: PRINT G$: RETURN 
  323. 12997  HCOLOR= 4 * INT( PEEK(8184 +PN)/4): FOR T1 = 192 -8 *T TO 188: HPLOT 4,T1 TO 275,T1: NEXT : HCOLOR= 3: RETURN 
  324. 12998  HCOLOR= 0: FOR T1 = 0 TO 8 *T: HPLOT 0,T1 TO 279,T1: NEXT : HCOLOR= 3: RETURN 
  325. 12999  HCOLOR= 0: FOR T1 = 192 -8 *T TO 191: HPLOT 0,T1 TO 279,T1: NEXT : HCOLOR= 3: RETURN 
  326. 14000  RUN